package com.example.file_management.pojo.user;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;

import java.time.LocalDateTime;
import java.util.List;

@Data
@NoArgsConstructor
@AllArgsConstructor
@JsonSerialize(using = LocalDateTimeSerializer.class)
@JsonDeserialize(using = LocalDateTimeDeserializer.class)


public class Auth {
    @JsonProperty
    private Long userId;

    private Long groupId;

    private Long roleId;

    @JsonProperty("project_id")
    private Long projectId; // 项目 ID

    private String roleName;

    private String username;

    private String groupName;
    private String error;

    private String projectName;

    private String password;

    private String email;

    @JsonProperty
    private String phoneNumber;

    @JsonProperty
    private String status;

    private LocalDateTime createdAt;

    private LocalDateTime deletedAt;

    private LocalDateTime updatedAt;


    public enum UserStatus {
        ACTIVE,
        INACTIVE;
    }
}
